package factory;

import enums.LogLevel;
import service.Logger;

/**
 * 日志记录器工厂 - 抽象创建者
 */
public abstract class LoggerFactory {
    /**
     * 工厂方法 - 创建日志记录器
     * @return 日志记录器实例
     */
    public abstract Logger createLogger();
    
    /**
     * 使用日志记录器记录消息
     * @param message 日志消息
     */
    public void log(String message) {
        Logger logger = createLogger();
        logger.log(message);
    }
    
    /**
     * 使用日志记录器记录消息，并设置级别
     * @param message 日志消息
     * @param level 日志级别
     */
    public void log(String message, LogLevel level) {
        Logger logger = createLogger();
        logger.setLevel(level);
        logger.log(message);
    }
}